1. Technical Field
The present invention relates generally to an improved data processing system, and in particular to a method and apparatus for processing data. Still more particularly, the present invention relates to a method, apparatus, and computer instructions for updating application servers.
2. Description of Related Art
The Internet is a global network of computers and networks joined together by means of gateways that handle data transfer and the conversion of messages from a protocol of the sending network to a protocol used by the receiving network. On the Internet, any computer may communicate with any other computer with information traveling over the Internet through a variety of languages, also referred to as protocols. The set of protocols used on the Internet is called transmission control protocol/Internet Protocol (TCP/IP).
The Internet has revolutionized both communications and commerce, as well as, being a source of both information and entertainment. For many users, email is a widely used format to communicate over the Internet. Additionally, the Internet is also used for real-time voice conversations.
With respect to transferring data over the Internet, the World Wide Web environment is used. This environment is also referred to simply as “the Web”. The Web is a mechanism used to access information over the Internet. In the Web environment, servers and clients effect data transaction using the hypertext transfer protocol (HTTP), a known protocol for handling the transfer of various data files, such as text files, graphic images, animation files, audio files, and video files.
On the Web, the information in various data files is formatted for presentation to a user by a standard page description language, the hypertext markup language (HTML). Documents using HTML are also referred to as Web pages. Web pages are connected to each other through links or hyperlinks. These links allow for a connection or link to other Web resources identified by a universal resource identifier (URI), such as a uniform resource locator (URL).
A browser is a program used to look at and interact with all of the information on the Web. A browser is able to display Web pages and to traverse links to other Web pages. Resources, such as Web pages, are retrieved by a browser, which is capable of submitting a request for the resource. This request typically includes an identifier, such as, for example, a URL. As used herein, a browser is an application used to navigate or view information or data in any distributed database, such as the Internet or the World Wide Web.
In handling requests from different users, a Website may employ multiple servers to handle these requests. Often times, two or more servers are configured or linked such that they are visible on the Web as a single server for handling requests. Computer system administrators are required to maintain and update clusters of servers and applications for which they are responsible. Server update and maintenance often requires taking one or more servers be taken offline. The servers are then updated and then placed back online to handle requests.
Since proper execution of applications on servers often requires that temporary user data be created and maintained on the server for the life of the user's session, it is a requirement that the user session data integrity be preserved through out the maintenance process. For example, Web applications often create “session objects” that are associated with each active user on a one to one basis. If an application is upgraded in a manner the semantics of the session data or adds necessary session data, then the session used by the previous application is no longer usable by the application. Losing user session data in this manner is not acceptable.
An effective method for maintaining and upgrading servers and applications while simultaneously providing continuous availability to applications and integrity of user session data is a requirement. Current solutions to this problem are deficient for a variety of reasons. One solution announces to users that an application will be down for maintenance, and informs users to avoid the Website during down hours.
Another solution mirrors an application server or application server cluster and upgrades the mirrored server/cluster. While reducing the application downtime, this solution still causes current users to loose their session. Therefore, it would be advantageous to have an improved method, apparatus, and computer instructions for updating servers while reducing downtime or lost sessions.